﻿using System;

namespace RhythmGame
{
    public class Element_info
    {
        private int typeId;
        private int clickTime;
        private int x;
        private int width;
        private int showTime;

        public int TypeId
        {
            get { return typeId; }
            set { typeId = value; }
        }

        public int ClickTime
        {
            get { return clickTime; }
            set { clickTime = value; }
        }

        public int X
        {
            get { return x; }
            set { x = value; }
        }

        public int Width
        {
            get { return width; }
            set { width = value; }
        }

        public int ShowTime
        {
            get { return showTime; }
            set { showTime = value; }
        }

        public override string ToString()
        {
            return TypeId + "," + ClickTime + "," + X + "," + Width;
        }
    }

    public class ElementTap_info : Element_info
    {
        // 可以在这里添加特定于 ElementTap_info 的属性和方法
    }

    public class ElementBreakTap_info : Element_info
    {
        // 可以在这里添加特定于 ElementBreak_info 的属性和方法
    }

    public class ElementProtectedTap_info : Element_info
    {
        // 可以在这里添加特定于 ElementProtectedTap_info 的属性和方法
    }

    public class ElementProtectedBreakTap_info : Element_info
    {
        // 可以在这里添加特定于 ElementProtectedBreakTap_info 的属性和方法
    }

    public class ElementDrag_info : Element_info
    {
        // 可以在这里添加特定于 ElementDrag_info 的属性和方法
    }

    public class ElementHold_info : Element_info
    {
        // 可以在这里添加特定于 ElementHold_info 的属性和方法
        public int EndTime { get; set; } // 结束时间属性，用于表示按住的结束时间
    }

    public class ElementBreakHold_info : Element_info
    {
        // 可以在这里添加特定于 ElementBreakHold_info 的属性和方法
    }
}

